package fr.umlv.j2ee.patterns.businessdelegate;

import javax.naming.NamingException;

import fr.umlv.j2ee.patterns.sessionfacade.FacadBusiness;
import fr.umlv.j2ee.patterns.transfertobject.Account;

/**classe principale du patter business delegate
 * peut implemeanter un mecanisme de cache par exemple avant de deleguer
 * les acces metier aux objets metier concernes.
 * Utiliser avec une facad il y a une relation one to one entre le business delegate
 * et la session facade
 * 
 * @author kirin
 *
 */
public class BusinessDelegate {

	private FacadBusiness services;
	
	public BusinessDelegate(){
		try {
			services = LookupService.getInstance().getFacad();
		} catch (NamingException e) {
			throw new IllegalStateException(e);
		}
		
		
	}

	public void addAccount(Account a) {
		services.addAccount(a);
	}

	public void addCommand() {
		services.addCommand();
	}

	public Account getAccount(String id) {
		return services.getAccount(id);
	}

	public void listAccount() {
		services.listAccount();
	}

	public void listCommand() {
		services.listCommand();
	}
	
	
}
